/**
 * @author Tobias Boehm
 *
 * 22.06.2011
 */
package org.anddev.andengine.extension.tbsengine.gameobject.animation;


/**
 * This class represents a group of object animations and contains one {@link ObjectAnimation}
 * for each cardinal direction.
 * <p>
 * This class is under heavy development and may change dramatically or disappear.
 * 
 * @author Tobias Boehm
 *
 */
public class ObjectNESWanimationSet {

	private ObjectAnimation mNorthAnimation;
	private ObjectAnimation mEastAnimation;
	private ObjectAnimation mSouthAnimaton;
	private ObjectAnimation mWestAnimation;
	
	public ObjectNESWanimationSet(){
		
	}
	
	public ObjectNESWanimationSet(final ObjectAnimation pNorthAnimation, final ObjectAnimation pEastAnimation, final ObjectAnimation pSouthAnimation, final ObjectAnimation pWestAnimation){
		
		this.mNorthAnimation = pNorthAnimation;
		this.mEastAnimation = pEastAnimation;
		this.mSouthAnimaton = pSouthAnimation;
		this.mWestAnimation = pWestAnimation;
	}

	/**
	 * @return the mNorthAnimation
	 */
	public ObjectAnimation getNorthAnimation() {
		return mNorthAnimation;
	}

	/**
	 * @param mNorthAnimation the mNorthAnimation to set
	 */
	public void setNorthAnimation(ObjectAnimation mNorthAnimation) {
		this.mNorthAnimation = mNorthAnimation;
	}

	public void playNorthAnimation(){
		
		this.mNorthAnimation.play();
	}

	/**
	 * @return the mEastAnimation
	 */
	public ObjectAnimation getEastAnimation() {
		return mEastAnimation;
	}

	/**
	 * @param mEastAnimation the mEastAnimation to set
	 */
	public void setEastAnimation(ObjectAnimation mEastAnimation) {
		this.mEastAnimation = mEastAnimation;
	}

	public void playEastAnimation(){
		
		this.mEastAnimation.play();
	}
	
	/**
	 * @return the mSouthAnimaton
	 */
	public ObjectAnimation getSouthAnimaton() {
		return mSouthAnimaton;
	}

	/**
	 * @param mSouthAnimaton the mSouthAnimaton to set
	 */
	public void setSouthAnimaton(ObjectAnimation mSouthAnimaton) {
		this.mSouthAnimaton = mSouthAnimaton;
	}
	
	public void playSouthAnimation(){
		
		this.mSouthAnimaton.play();
	}

	/**
	 * @return the mWestAnimation
	 */
	public ObjectAnimation getWestAnimation() {
		return mWestAnimation;
	}

	/**
	 * @param mWestAnimation the mWestAnimation to set
	 */
	public void setWestAnimation(ObjectAnimation mWestAnimation) {
		this.mWestAnimation = mWestAnimation;
	}
	
	public void playWestAnimation(){
		
		this.mWestAnimation.play();
	}
	
	public void stopAnimation(){
		
		this.mEastAnimation.stop();
		
		this.mNorthAnimation.stop();
		
		this.mSouthAnimaton.stop();
		
		this.mWestAnimation.stop();
	}
}
